﻿using System;
using System.Collections.Generic;

namespace GameFrameWork
{
    /// <summary>
    /// 一个Bundle数据【用于序列化json文件】
    /// </summary>
    [Serializable]
    public class HotBundleInfo
    {
        /// <summary>
        /// 归属模块名
        /// </summary>
        public string ModuleName;

        /// <summary>
        /// 这个bundle的名字
        /// </summary>
        public string BundleName;

        /// <summary>
        /// 这个Bundle的路径(会放到 Application.streamingAssetsPath)
        /// </summary>
        public string Path;

        /// <summary>
        /// 这个bundle资源的CRC散列码
        /// </summary>
        public int Crc32;
        /// <summary>
        /// 这个Bundle资源的大小 单位是字节
        /// </summary>
        public int Size;

        /// <summary>
        /// 这个资源的MD5码
        /// </summary>
        public string MD5;

        /// <summary>
        /// 该 AssetBundle 中所有要包含的资源的路径。每个路径是相对于 Unity 项目资源文件夹的路径。
        /// </summary>
        public List<string> Assets;

        /// <summary>
        /// 这个Bundle所依赖的资源的路径列表
        /// </summary>
        public List<string> Dependenceies;


        public HotBundleInfo()// 添加无参构造函数
        {
            Assets=new List<string>();
            Dependenceies = new List<string>();
        }

        public HotBundleInfo(string mduleName, string bundleName,string path, int crc32, int size, string md5, List<string> assets,List<string> dependenceies)
        {
            ModuleName = mduleName;
            BundleName = bundleName;
            Path = path;
            Crc32 = crc32;
            Size = size;
            MD5 = md5;
            Assets = assets;
            Dependenceies = dependenceies;
        }
    }
}

